package com.coolingme.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.coolingme.domain.entity.User;
import com.coolingme.domain.vo.UserRoleVo;
import com.coolingme.domain.vo.UserVo;

import java.util.List;

public interface UserMapper extends BaseMapper<User> {

    /**
     * 懒加载测试
     *
     * @param userName 姓名
     * @return UserVo
     */
    UserVo selectLazy(@Param("userName") String userName);

    /**
     * 查询用户信息集合
     *
     * @param userName
     * @return User集合
     */
    List<UserVo> listUser(@Param("userName") String userName);

    /**
     * 查询用户和角色信息集合
     *
     * @param userName 用户名
     * @param roleName 角色名
     * @return UserRoleVo集合
     */
    List<UserRoleVo> listUserRole(@Param("userName") String userName, @Param("roleName") String roleName);

    int insert(User record);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);
}